package com.nmgs.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@Configuration
//当spring.redis.enable为false时或为空时 不启用redis
//prefix = "rest"：application.properties配置文件中，有关本配置项的前缀。
//name = "auth-open"：application.properties配置文件中，本次配置项的key
//havingValue = "true"：从配置文件读取的值跟havingValue中设置的值做比较；如果一样则返回true，否则返回false。如果返回值为false，则该configuration不生效；为true才生效。
//matchIfMissing = true：表示如果没有在application.properties匹配到该属性参数时，默认返回true，即不配置时也满足条件。
@ConditionalOnProperty(prefix = "spring.redis", name = "enable")
@EnableRedisHttpSession
public class RedisSessionConfig {
//    下面都是自定义配置，默认为spingboot默认使用redis
//    private String host;
//    private String password;
//    private String port;
//    private String timeout;
//    private String database;
//
//    @Bean
//    public JedisConnectionFactory redisConnectionFactory() {
//        JedisConnectionFactory factory = new JedisConnectionFactory();
//        factory.setHostName(host);
//        factory.setPassword(password);
//        factory.setPort(Integer.parseInt(port));
////        设置连接超时时间
//        factory.setTimeout(Integer.parseInt(timeout));
//        factory.setDatabase(Integer.parseInt(database));
//        return factory;
//    }
}
